-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix of the sign convention of rotation matrices #172
base: develop
Are you sure you want to change the base?
Conversation
… HiggsRotationMatrixEnsuredConvention vector
…matrices where only massless Goldstones should be (which can happen for a faulty parameter point with a negative mass)
Can you make this PR to the "develop" branch? |
Done! |
…er#176) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.9. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](JamesIves/github-pages-deploy-action@v4.6.4...v4.6.9) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](codecov/codecov-action@v4...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes broke two unit tests:
- 17 - Checking triple higgs NLO couplings in the C2HDM (Failed)
- 43 - Checking triple higgs NLO couplings in the CPINTHEDARK (Failed)
Please check what is happening.
This fix probably comes from some mistake BSMPT was making, can you add a unit test for that specific mistake, so that we prevent it in the future.
@@ -98,6 +98,10 @@ class Class_Potential_C2HDM : public Class_Potential_Origin | |||
double CTempC1 = 0, CTempC2 = 0, CTempCS = 0; | |||
double R_Hh_1 = 0, R_Hh_2 = 0, R_Hh_3 = 0, R_Hl_1 = 0, R_Hl_2 = 0, R_Hl_3 = 0, | |||
R_Hsm_1 = 0, R_Hsm_2 = 0, R_Hsm_3 = 0; | |||
|
|||
int pos_G0, pos_G1, pos_G2, pos_H1, pos_H2, pos_h1, pos_h2, pos_h3; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using the sufixes 1
as +
and 2
as -
might be a bit confusing, particular when h1
exists.
Could we use
G1 = Gp
G2 = Gm
H1 = Hp
H2 = Hm
instead?
@@ -99,6 +99,10 @@ class Class_Potential_N2HDM : public Class_Potential_Origin | |||
double NDus = 0, NDL6 = 0, NDL7 = 0, NDL8 = 0, NDvs = 0, NDTS = 0; | |||
double DTCharged = 0; | |||
|
|||
int pos_G0, pos_G1, pos_G2, pos_H1, pos_H2; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using the sufixes 1
as +
and 2
as -
might be a bit confusing, particular when h1
exists.
Could we use
G1 = Gp
G2 = Gm
H1 = Hp
H2 = Hm
instead?
@@ -90,6 +90,9 @@ class Class_Potential_R2HDM : public Class_Potential_Origin | |||
int Type = 0; | |||
double CTempC1 = 0, CTempC2 = 0, CTempCS = 0; | |||
|
|||
int pos_G1, pos_G2, pos_H1, pos_H2, pos_G0, pos_A, pos_H, pos_h; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using the sufixes 1
as +
and 2
as -
might be a bit confusing, particular when h1
exists.
Could we use
G1 = Gp
G2 = Gm
H1 = Hp
H2 = Hm
instead?
NeutralHiggs[i] = HiggsMasses[posN.at(i)]; | ||
int ii = int(i); | ||
int jj = int(j); | ||
if (not((jj == pos_rho1 and (ii == pos_G1 or ii == pos_H1)) or |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This piece of code is a bit confusing, what is it checking for? Can you refactor it a little bit?
MhDown = std::sqrt(NeutralHiggs[0]); | ||
int ii = int(i); | ||
int jj = int(j); | ||
if (not((jj == pos_si_rho1 and (ii == pos_si_G1 or ii == pos_si_H1)) or |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is it checking for? Can you refactor it a little bit?
{ | ||
int ii = int(i); | ||
int jj = int(j); | ||
if (not((jj == pos_Gp and ii == pos_Gp) or |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This piece of code is a bit confusing, what is it checking for? Can you refactor it a little bit?
countposN++; | ||
int ii = int(i); | ||
int jj = int(j); | ||
if (not((jj == pos_rho1 and (ii == pos_G1 or ii == pos_H1)) or |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This piece of code is a bit confusing, what is it checking for? Can you refactor it a little bit?
{ | ||
if (!almost_the_same(inv(i, j), transp(i, j), precision)) | ||
{ | ||
InvEqTrans = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor improvements here. If we reach this spot we can return false right away without having to check for all other matrix elements.
HiggsRot(i, j) = HiggsRotationMatrix[i][j]; | ||
int ii = int(i); | ||
int jj = int(j); | ||
if (not((jj == pos_rho1 and (ii == pos_G1 or ii == pos_H1)) or |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This piece of code is a bit confusing, what is it checking for? Can you refactor it a little bit?
This was expected. We have to re-generate the unit test sources with the corrected trilinear couplings. |
* Combine linters * Add whitelines to trigger formatting * Automatically applied linter * add linter PAT * Automatically applied linter * Remove new lines * rename linter job --------- Co-authored-by: GitHub Actions Bot <>
Fixes #169. The mismatch between conventions of rotation matrices is resolved by enforcing the parametrisation of arXiv:2007.02985, Eqs. (5) ff.
We implement a new function$-\frac{\pi}{2}$ and $+\frac{\pi}{2}$ . This new rotation matrix, saved in the vector
AdjustRotationMatrix()
which calculates the rotation matrix in the parametrisation of the given paper and ensures that the rotation angles are withinHiggsRotationMatrixEnsuredConvention
, is then used for the calculation insideTripleHiggsCouplings()
. The convention for the rotation matrices and angles as calculated by BSMPT now also agrees with the one used in theScannerS
code.Additionally, the indices for the mass eigenstates in the rotation matrix are now computed just once for all implemented models inside the respective
AdjustRotationMatrix()
function (previously, the indices were computed separately in thewrite()
andTripleHiggsCouplings()
functions).General structure of the changes and implementation for the R2HDM by @lisabiermann.